<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html">

    <body>

        <ui:composition template="./../../WEB-INF/templates/MainTemplate.xhtml">

            <ui:define name="bar">
                <h:form id="barForm">
                    <p:panel id="barFormPanel" styleClass="noMargin noPadding noBorder">
                        <p:commandButton styleClass="actionButton" id="nuevoTicketButton" value="#{messages.NuevoTicket}" action="#{listadoTicketsBean.irANuevoTicket()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" id="nuevaReservaButton" value="#{messages.NuevaReserva}" action="#{listadoTicketsBean.irANuevaReserva()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{listadoTicketsBean.entidadElegida==null}" action="#{listadoTicketsBean.irANuevaDevolucion()}" id="devolucionButton" value="#{messages.Devolver}" actionListener="#{listadoTicketsBean.elegirEntidad()}"></p:commandButton>
                        <p:commandButton styleClass="actionButton" disabled="#{!listadoTicketsBean.puedeCrearTicketAPartirDeReserva}" action="#{listadoTicketsBean.irANuevoTicketAPartirDeReserva()}" id="nuevoTicketReservaButton" value="#{messages.NuevoTicketReserva}"></p:commandButton>
                    </p:panel>
                </h:form>
            </ui:define>

            
            <ui:define name="dialogs">
                <h:form id="dialogoForm">
                                        
                </h:form>
            </ui:define>
            
            <ui:define name="content">
                <h:form id="ticketForm">
                    <p:growl autoUpdate="true" life="4000" id="almacenGrowl"></p:growl>
                    <p:dataTable emptyMessage="#{messages.NoTicket}" sortOrder="descending" resizableColumns="true" selectionMode="single" liveScroll="true" scrollable="true" scrollRows="50" scrollHeight="600" id="tickets" var="ticket" rowKey="#{ticket.idTicket}" selection="#{listadoTicketsBean.entidadElegida}" value="#{listadoTicketsBean.listadoEntidades}">
                        <p:ajax update=":barForm:barFormPanel" event="rowSelect" listener="#{listadoTicketsBean.seleccionarEntidad()}"/> 
                        <p:ajax update=":barForm:barFormPanel" event="rowUnselect" listener="#{listadoTicketsBean.deseleccionarEntidad()}"/>
                        <p:column sortBy="#{ticket.identificador}" headerText="#{messages.Identificador}" filterBy="#{ticket.identificador}" filterMatchMode="contains">
                            <h:outputText value="#{ticket.identificador}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.caja.descripcion}" headerText="#{messages.Caja}">
                            <h:outputText value="#{ticket.caja.descripcion}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.caja.tienda.descripcion}" filterBy="#{ticket.caja.tienda.descripcion}" filterMatchMode="contains" headerText="#{messages.Tienda}">
                            <h:outputText value="#{ticket.caja.tienda.descripcion}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.cliente.nombre}" filterBy="#{ticket.cliente.nombre}" filterMatchMode="contains" headerText="#{messages.Cliente}">
                            <h:outputText value="#{ticket.cliente.nombre}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.fecha}" filterBy="#{ticket.fecha}" filterMatchMode="contains" headerText="#{messages.Fecha}">
                            <h:outputText value="#{ticket.fecha}">
                                        <f:convertDateTime pattern="dd/MM/yyyy HH:mm"/>
                            </h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.unidades}" filterBy="#{ticket.unidades}" filterMatchMode="contains" headerText="#{messages.Unidades}">
                            <h:outputText value="#{ticket.unidades}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.pagadoEfectivo}" filterBy="#{ticket.pagadoEfectivo}" filterMatchMode="contains" headerText="#{messages.Efectivo}">
                            <h:outputText value="#{ticket.pagadoEfectivo}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.pagadoVisa}" filterBy="#{ticket.pagadoVisa}" filterMatchMode="contains" headerText="#{messages.Visa}">
                            <h:outputText value="#{ticket.pagadoVisa}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.pagadoAmex}" filterBy="#{ticket.pagadoAmex}" filterMatchMode="contains" headerText="#{messages.Amex}">
                            <h:outputText value="#{ticket.pagadoAmex}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.pagadoMasterCard}" filterBy="#{ticket.pagadoMasterCard}" filterMatchMode="contains" headerText="#{messages.MasterCard}">
                            <h:outputText value="#{ticket.pagadoMasterCard}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.pagadoMaestro}" filterBy="#{ticket.pagadoMaestro}" filterMatchMode="contains" headerText="#{messages.pagadoMaestro}">
                            <h:outputText value="#{ticket.pagadoMaestro}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.total}" filterBy="#{ticket.total}" filterMatchMode="contains" headerText="#{messages.Total}">
                            <h:outputText value="#{ticket.total}"></h:outputText> 
                        </p:column>
                        <p:column sortBy="#{ticket.tipoTicket.idTipoTicket}" filterBy="#{ticket.tipoTicket.descripcion}" filterMatchMode="contains" headerText="#{messages.TipoTicket}">
                            <h:outputText value="#{ticket.tipoTicket.descripcion}"></h:outputText> 
                        </p:column>
                    </p:dataTable>
                </h:form>
            </ui:define>

        </ui:composition>

    </body>
</html>
